home *** CD-ROM | disk | FTP | other *** search
/ SGI Freeware 1999 August / SGI Freeware 1999 August.iso / dist / fw_perl.idb / usr / freeware / catman / p_man / cat3 / AutoSplit.Z / AutoSplit
Encoding:
Text File  |  1998-10-28  |  5.6 KB  |  199 lines

  1.  
  2.  
  3.  
  4.      AAAAuuuuttttooooSSSSpppplllliiiitttt((((3333))))     7777////AAAAuuuugggg////99998888 ((((ppppeeeerrrrllll 5555....000000005555,,,, ppppaaaattttcccchhhh 00002222))))      AAAAuuuuttttooooSSSSpppplllliiiitttt((((3333))))
  5.  
  6.  
  7.  
  8.      NNNNAAAAMMMMEEEE
  9.       AutoSplit - split a package for autoloading
  10.  
  11.      SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
  12.        autosplit($file, $dir, $keep, $check, $modtime);
  13.  
  14.        autosplit_lib_modules(@modules);
  15.  
  16.  
  17.      DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
  18.       This function    will split up your program into    files that the
  19.       AutoLoader module can    handle.    It is used by both the
  20.       standard perl    libraries and by the MakeMaker utility,    to
  21.       automatically    configure libraries for    autoloading.
  22.  
  23.       The autosplit    interface splits the specified file into a
  24.       hierarchy rooted at the directory $dir. It creates
  25.       directories as needed    to reflect class hierarchy, and
  26.       creates the file _a_u_t_o_s_p_l_i_t._i_x. This file acts    as both
  27.       forward declaration of all package routines, and as
  28.       timestamp for    the last update    of the hierarchy.
  29.  
  30.       The remaining    three arguments    to autosplit govern other
  31.       options to the autosplitter.
  32.  
  33.       $keep
  34.         If the third argument, $_k_e_e_p, is false, then any pre-
  35.         existing *.al files    in the autoload    directory are removed
  36.         if they are    no longer part of the module (obsoleted
  37.         functions).     $keep defaults    to 0.
  38.  
  39.       $check
  40.         The    fourth argument, $_c_h_e_c_k, instructs autosplit to    check
  41.         the    module currently being split to    ensure that it does
  42.         include a use specification    for the    AutoLoader module, and
  43.         skips the module if    AutoLoader is not detected.  $check
  44.         defaults to    1.
  45.  
  46.       $modtime
  47.         Lastly, the    $_m_o_d_t_i_m_e argument specifies that autosplit is
  48.         to check the modification time of the module against that
  49.         of the autosplit.ix    file, and only split the module    if it
  50.         is newer.  $modtime    defaults to 1.
  51.  
  52.       Typical use of AutoSplit in the perl MakeMaker utility is
  53.       via the command-line with:
  54.  
  55.        perl    -e 'use    AutoSplit; autosplit($ARGV[0], $ARGV[1], 0, 1, 1)'
  56.  
  57.       Defined as a Make macro, it is invoked with file and
  58.       directory arguments; autosplit will split the    specified file
  59.       into the specified directory and delete obsolete .al files,
  60.  
  61.  
  62.  
  63.      Page 1                        (printed 10/23/98)
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70.      AAAAuuuuttttooooSSSSpppplllliiiitttt((((3333))))     7777////AAAAuuuugggg////99998888 ((((ppppeeeerrrrllll 5555....000000005555,,,, ppppaaaattttcccchhhh 00002222))))      AAAAuuuuttttooooSSSSpppplllliiiitttt((((3333))))
  71.  
  72.  
  73.  
  74.       after    checking first that the    module does use    the
  75.       AutoLoader, and ensuring that    the module is not already
  76.       currently split in its current form (the modtime test).
  77.  
  78.       The autosplit_lib_modules form is used in the    building of
  79.       perl.    It takes as input a list of files (modules) that are
  80.       assumed to reside in a directory lllliiiibbbb relative    to the current
  81.       directory. Each file is sent to the autosplitter one at a
  82.       time,    to be split into the directory lllliiiibbbb////aaaauuuuttttoooo.
  83.  
  84.       In both usages of the    autosplitter, only subroutines defined
  85.       following the    perl ___E_N_D__ token are split out into separate
  86.       files. Some routines may be placed prior to this marker to
  87.       force    their immediate    loading    and parsing.
  88.  
  89.       MMMMuuuullllttttiiiipppplllleeee ppppaaaacccckkkkaaaaggggeeeessss
  90.  
  91.       As of    version    1.01 of    the AutoSplit module it    is possible to
  92.       have multiple    packages within    a single file. Both of the
  93.       following cases are supported:
  94.  
  95.          package NAME;
  96.          __END__
  97.          sub AAA { ... }
  98.          package NAME::option1;
  99.          sub BBB { ... }
  100.          package NAME::option2;
  101.          sub BBB { ... }
  102.  
  103.          package NAME;
  104.          __END__
  105.          sub AAA { ... }
  106.          sub NAME::option1::BBB { ... }
  107.          sub NAME::option2::BBB { ... }
  108.  
  109.  
  110.      DDDDIIIIAAAAGGGGNNNNOOOOSSSSTTTTIIIICCCCSSSS
  111.       AutoSplit will inform    the user if it is necessary to create
  112.       the top-level    directory specified in the invocation. It is
  113.       preferred that the script or installation process that
  114.       invokes AutoSplit have created the full directory path ahead
  115.       of time. This    warning    may indicate that the module is    being
  116.       split    into an    incorrect path.
  117.  
  118.       AutoSplit will warn the user of all subroutines whose    name
  119.       causes potential file    naming conflicts on machines with
  120.       drastically limited (8 characters or less) file name length.
  121.       Since    the subroutine name is used as the file    name, these
  122.       warnings can aid in portability to such systems.
  123.  
  124.       Warnings are issued and the file skipped if AutoSplit    cannot
  125.       locate either    the ___E_N_D__ marker or a    "package Name;"-style
  126.  
  127.  
  128.  
  129.      Page 2                        (printed 10/23/98)
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136.      AAAAuuuuttttooooSSSSpppplllliiiitttt((((3333))))     7777////AAAAuuuugggg////99998888 ((((ppppeeeerrrrllll 5555....000000005555,,,, ppppaaaattttcccchhhh 00002222))))      AAAAuuuuttttooooSSSSpppplllliiiitttt((((3333))))
  137.  
  138.  
  139.  
  140.       specification.
  141.  
  142.       AutoSplit will also emit general diagnostics for inability
  143.       to create directories    or files.
  144.  
  145.  
  146.  
  147.  
  148.  
  149.  
  150.  
  151.  
  152.  
  153.  
  154.  
  155.  
  156.  
  157.  
  158.  
  159.  
  160.  
  161.  
  162.  
  163.  
  164.  
  165.  
  166.  
  167.  
  168.  
  169.  
  170.  
  171.  
  172.  
  173.  
  174.  
  175.  
  176.  
  177.  
  178.  
  179.  
  180.  
  181.  
  182.  
  183.  
  184.  
  185.  
  186.  
  187.  
  188.  
  189.  
  190.  
  191.  
  192.  
  193.  
  194.  
  195.      Page 3                        (printed 10/23/98)
  196.  
  197.  
  198.  
  199.